;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; This facility is documented in the Emacs Manual.
+
;;; Code:
(defconst only-global-abbrevs nil "\
(setq comment-column 41)
(make-local-variable 'comment-start-skip)
(setq comment-start-skip "--+ *")
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'c-comment-indent)
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'c-comment-indent)
(make-local-variable 'parse-sexp-ignore-comments)
(setq parse-sexp-ignore-comments t)
(run-hooks 'ada-mode-hook))
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; This facility is documented in the Emacs Manual.
+
;;; Code:
;;;###autoload
;;; Commentary:
-;;; Written by dmb%morgoth@harvard.harvard.edu (address is old)
-;;; (David M. Brown at Goldberg-Zoino & Associates, Inc.)
-;;; Thanks to cph@kleph.ai.mit.edu for assistance
-
-;;; To do:
-;;; Smooth initialization process by grokking local variables list
-;;; at end of buffer or parsing buffer using whitespace as delimiters.
-;;; Make 'array-copy-column-right faster.
+;; Commands for editing a buffer interpreted as a rectangular array
+;; or matrix of whitespace-separated strings. You specify the array
+;; dimensions and some other parameters at startup time.
+
+;; Written by dmb%morgoth@harvard.harvard.edu (address is old)
+;; (David M. Brown at Goldberg-Zoino & Associates, Inc.)
+;; Thanks to cph@kleph.ai.mit.edu for assistance
+
+;; To do:
+;; Smooth initialization process by grokking local variables list
+;; at end of buffer or parsing buffer using whitespace as delimiters.
+;; Make 'array-copy-column-right faster.
\f
;;; Code:
;;; Duke University Medical Center
;;; Durham, NC 27710
;;; (crm@cs.duke.edu,mcnc!duke!crm)
-;;;
-;;; Date: Fri Jul 1 16:15:31 EDT 1988
;;; Code:
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; Edit, delete, or change attributes of all currently active Emacs
+;; buffers from a list summarizing thir state. A good way to browse
+;; any special or scratch buffers you have loaded, since you can't find
+;; them by filename.
+
;;; Code:
; Put buffer *Buffer List* into proper mode right away
;; '((lambda ()
;; (define-key cmulisp-mode-map "\C-ct" 'favorite-cmd))))
-\f
-;;; Brief Command Documentation:
-;;;============================================================================
-;;; Comint Mode Commands: (common to cmulisp and all comint-derived modes)
-;;;
-;;; m-p comint-previous-input Cycle backwards in input history
-;;; m-n comint-next-input Cycle forwards
-;;; m-c-r comint-previous-input-matching Search backwards in input history
-;;; return comint-send-input
-;;; c-a comint-bol Beginning of line; skip prompt.
-;;; c-d comint-delchar-or-maybe-eof Delete char unless at end of buff.
-;;; c-c c-u comint-kill-input ^u
-;;; c-c c-w backward-kill-word ^w
-;;; c-c c-c comint-interrupt-subjob ^c
-;;; c-c c-z comint-stop-subjob ^z
-;;; c-c c-\ comint-quit-subjob ^\
-;;; c-c c-o comint-kill-output Delete last batch of process output
-;;; c-c c-r comint-show-output Show last batch of process output
-;;; send-invisible Read line w/o echo & send to proc
-;;; comint-continue-subjob Useful if you accidentally suspend
-;;; top-level job.
-;;; comint-mode-hook is the comint mode hook.
-
-;;; CMU Lisp Mode Commands:
-;;; c-m-x lisp-send-defun This binding is a gnu convention.
-;;; c-c c-l lisp-load-file Prompt for file name; tell Lisp to load it.
-;;; c-c c-k lisp-compile-file Prompt for file name; tell Lisp to kompile it.
-;;; Filename completion is available, of course.
-;;;
-;;; Additionally, these commands are added to the key bindings of Lisp mode:
-;;; c-m-x lisp-eval-defun This binding is a gnu convention.
-;;; c-c c-e lisp-eval-defun Send the current defun to Lisp process.
-;;; c-x c-e lisp-eval-last-sexp Send the previous sexp to Lisp process.
-;;; c-c c-r lisp-eval-region Send the current region to Lisp process.
-;;; c-c c-c lisp-compile-defun Compile the current defun in Lisp process.
-;;; c-c c-z switch-to-lisp Switch to the Lisp process buffer.
-;;; c-c c-l lisp-load-file (See above. In a Lisp file buffer, default
-;;; c-c c-k lisp-compile-file is to load/compile the current file.)
-;;; c-c c-d lisp-describe-sym Query Lisp for a symbol's description.
-;;; c-c c-a lisp-show-arglist Query Lisp for function's arglist.
-;;; c-c c-f lisp-show-function-documentation Query Lisp for a function's doc.
-;;; c-c c-v lisp-show-variable-documentation Query Lisp for a variable's doc.
-
-;;; cmulisp Fires up the Lisp process.
-;;; lisp-compile-region Compile all forms in the current region.
-;;;
-;;; CMU Lisp Mode Variables:
-;;; cmulisp-filter-regexp Match this => don't get saved on input hist
-;;; inferior-lisp-program Name of Lisp program run-lisp executes
-;;; inferior-lisp-load-command Customises lisp-load-file
-;;; cmulisp-mode-hook
-;;; inferior-lisp-prompt Initialises comint-prompt-regexp.
-;;; Backwards compatibility.
-;;; lisp-source-modes Anything loaded into a buffer that's in
-;;; one of these modes is considered Lisp
-;;; source by lisp-load/compile-file.
+;; Brief Command Documentation:
+;;============================================================================
+;; Comint Mode Commands: (common to cmulisp and all comint-derived modes)
+;;
+;; m-p comint-previous-input Cycle backwards in input history
+;; m-n comint-next-input Cycle forwards
+;; m-c-r comint-previous-input-matching Search backwards in input history
+;; return comint-send-input
+;; c-a comint-bol Beginning of line; skip prompt.
+;; c-d comint-delchar-or-maybe-eof Delete char unless at end of buff.
+;; c-c c-u comint-kill-input ^u
+;; c-c c-w backward-kill-word ^w
+;; c-c c-c comint-interrupt-subjob ^c
+;; c-c c-z comint-stop-subjob ^z
+;; c-c c-\ comint-quit-subjob ^\
+;; c-c c-o comint-kill-output Delete last batch of process output
+;; c-c c-r comint-show-output Show last batch of process output
+;; send-invisible Read line w/o echo & send to proc
+;; comint-continue-subjob Useful if you accidentally suspend
+;; top-level job.
+;; comint-mode-hook is the comint mode hook.
+
+;; CMU Lisp Mode Commands:
+;; c-m-x lisp-send-defun This binding is a gnu convention.
+;; c-c c-l lisp-load-file Prompt for file name; tell Lisp to load it.
+;; c-c c-k lisp-compile-file Prompt for file name; tell Lisp to kompile it.
+;; Filename completion is available, of course.
+;;
+;; Additionally, these commands are added to the key bindings of Lisp mode:
+;; c-m-x lisp-eval-defun This binding is a gnu convention.
+;; c-c c-e lisp-eval-defun Send the current defun to Lisp process.
+;; c-x c-e lisp-eval-last-sexp Send the previous sexp to Lisp process.
+;; c-c c-r lisp-eval-region Send the current region to Lisp process.
+;; c-c c-c lisp-compile-defun Compile the current defun in Lisp process.
+;; c-c c-z switch-to-lisp Switch to the Lisp process buffer.
+;; c-c c-l lisp-load-file (See above. In a Lisp file buffer, default
+;; c-c c-k lisp-compile-file is to load/compile the current file.)
+;; c-c c-d lisp-describe-sym Query Lisp for a symbol's description.
+;; c-c c-a lisp-show-arglist Query Lisp for function's arglist.
+;; c-c c-f lisp-show-function-documentation Query Lisp for a function's doc.
+;; c-c c-v lisp-show-variable-documentation Query Lisp for a variable's doc.
+
+;; cmulisp Fires up the Lisp process.
+;; lisp-compile-region Compile all forms in the current region.
+;;
+;; CMU Lisp Mode Variables:
+;; cmulisp-filter-regexp Match this => don't get saved on input hist
+;; inferior-lisp-program Name of Lisp program run-lisp executes
+;; inferior-lisp-load-command Customises lisp-load-file
+;; cmulisp-mode-hook
+;; inferior-lisp-prompt Initialises comint-prompt-regexp.
+;; Backwards compatibility.
+;; lisp-source-modes Anything loaded into a buffer that's in
+;; one of these modes is considered Lisp
+;; source by lisp-load/compile-file.
+
+;;; Code:
+
+(require 'comint)
;;; Read the rest of this file for more information.
\f
;;; cmuscheme.el --- Scheme process in a buffer. Adapted from tea.el.
-;;; Copyright (C) 1988 Free Software Foundation, Inc.
+
+;; Copyright (C) 1988 Free Software Foundation, Inc.
;; Author: Olin Shivers <olin.shivers@cs.cmu.edu>
;; Keywords: processes, lisp
;;; comint.el --- general command interpreter in a window stuff
+
;; Copyright (C) 1988, 1990, 1992, 1993 Free Software Foundation, Inc.
;; Author: Olin Shivers <shivers@cs.cmu.edu>
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; This package provides one entry point, compare-windows. It compares
+;; text starting from point in two adjacent windows, advancing point
+;; until it finds a difference. Option variables permit you to ignore
+;; whitespace differences, or case differences, or both.
+
;;; Code:
(defvar compare-windows-whitespace " \t\n"
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; This package helps you explore differences between files, using the
+;; UNIX command diff(1). The commands are `diff' and `diff-backup'.
+;; You can specify options with `diff-switches'.
+
;;; Code:
(require 'compile)
;;; Commentary:
+;; The parts of dired mode not normally used. This is a space-saving hack
+;; to avoid having to load a large mode when all that's wanted are a few
+;; functions.
+
;; Rewritten in 1990/1991 to add tree features, file marking and
;; sorting by Sebastian Kremer <sk@thp.uni-koeln.de>.
;; Finished up by rms in 1992.
;;; Commentary:
+;; This is a major mode for directory browsing and editing. It is
+;; documented in the Emacs manual.
+
;; Rewritten in 1990/1991 to add tree features, file marking and
;; sorting by Sebastian Kremer <sk@thp.uni-koeln.de>.
;; Finished up by rms in 1992.
;;; Commentary:
-;; who says one can't have typeout windows in gnu emacs?
-;; like ^r select buffer from its emacs lunar or tmacs libraries.
+;; Who says one can't have typeout windows in GNU Emacs? The entry
+;; point, `electric-buffer-list' works like ^r select buffer from the
+;; ITS Emacs lunar or tmacs libraries.
;;; Code:
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; This package provides a pre-packaged `Electric Help Mode' for
+;; browsing on-line help screens. There is one entry point,
+;; `with-electric-help'; All you have to give it is a no-argument
+;; function that generates the actual text of the help into the urrent
+;; buffer.
+
;;; Code:
(require 'electric)
;;; 02139, USA.
;;;
+;;; Commentary;:
+
+;; This code helps GNU Emacs maintainers keep the autoload.el file up to
+;; date. It interprets magic cookies of the form ";;;###autoload" in
+;; lisp source files in various useful ways. To learn more, read the
+;; source; if you're going to use this, you'd better be able to.
+
;;; Code:
(defun make-autoload (form file)
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; The Emacs Lisp byte compiler. This crunches lisp source into a sort
+;; of p-code which takes up less space and can be interpreted faster.
+;; The user entry points are byte-compile-file and byte-recompile-directory.
+
;;; Code:
;;; ========================================================================
;;; cl-indent.el --- enhanced lisp-indent mode
;; Copyright (C) 1987 Free Software Foundation, Inc.
-;; Written by Richard Mlynarik July 1987
+
;; Author: Richard Mlynark <mly@eddie.mit.edu>
+;; Created: July 1987
;; Maintainer: FSF
;; Keywords: lisp, tools
-
;; This file is part of GNU Emacs.
;; GNU Emacs is free software; you can redistribute it and/or modify
;;; Commentary:
+;; This package supplies a single entry point, common-lisp-indent-function,
+;; which performs indentation in the preferred style for Common Lisp code.
+;; To enable it:
+;;
+;; (setq lisp-indent-function 'common-lisp-indent-function)
+
;;>> TODO
;; :foo
;; bar
;;; Code:
-;;; Hairy lisp indentation.
-
(defvar lisp-indent-maximum-backtracking 3
"*Maximum depth to backtrack out from a sublist for structured indentation.
If this variable is 0, no backtracking will occur and forms such as flet
;(put 'with-condition-handler 'common-lisp-indent-function '((1 4 ((* 1))) (2 &body)))
;(put 'condition-case 'common-lisp-indent-function '((1 4) (* 2 ((0 1) (1 3) (2 &body)))))
-\f
-;;;; Turn it on.
-;(setq lisp-indent-function 'common-lisp-indent-function)
-
-;; To disable this stuff, (setq lisp-indent-function 'lisp-indent-function)
-
;;; cl-indent.el ends here
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; This is a major mode documented in the Emacs manual.
+
;;; Code:
(defvar debug-function-list nil
;;; Commentary:
-;;; Original version by Doug Cutting (doug@csli.stanford.edu)
-;;; Substantially modified by Jamie Zawinski <jwz@lucid.com> for
-;;; the new lapcode-based byte compiler.
+;; The single entry point, `disassemble', disassembles a code object generated
+;; by the Emacs Lisp byte-compiler. This doesn't invert the compilation
+;; operation, not by a long shot, but it's useful for debugging.
+
+;;
+;; Original version by Doug Cutting (doug@csli.stanford.edu)
+;; Substantially modified by Jamie Zawinski <jwz@lucid.com> for
+;; the new lapcode-based byte compiler.
;;; Code:
;; Author: Daniel LaLiberte <liberte@cs.uiuc.edu>
;; Keywords: lisp, tools, maint
+;; This is Dan's 2.5 version with some header comments rearranged to separate
+;; the Change Log from the Commentary (so the package-finder code can browse
+;; the Commentary).
+
;; This file is part of GNU Emacs.
;; GNU Emacs is distributed in the hope that it will be useful,
;;; Contents:
;;; =========
-;;; Change list
;;; Installation
-;;; Todo list
+;;; Change list
;;; Utilities
;;; Parser
;;; Debugger
\f
-;;;================================================================
-;;; Change list
-;;; -----------
+;;; Installation
+;;; ------------
+;; Put edebug.el in some directory in your load-path and byte-compile it.
+
+;; Put the following forms in your .emacs file.
+;; (define-key emacs-lisp-mode-map "\^Xx" 'edebug-defun)
+;; (autoload 'edebug-defun "edebug")
+;; (autoload 'edebug-debug "edebug")
+;; (setq debugger 'edebug-debug)
+;; ... other options, described in the next section.
+
+;; Evaluate a defun for edebug with edebug-defun.
+;; Evaluate your function normally.
+;; Use the "?" command in edebug to describe other commands.
+;; See edebug.texinfo for more instructions.
+
+;;; Change Log:
;;; Revision 2.5 91/07/25 13:32:53 liberte
;;; Doc string cleanup.
;;; Initial revision
;;;
-\f
-;;; Installation
-;;; ------------
-;; Put edebug.el in some directory in your load-path and byte-compile it.
-
-;; Put the following forms in your .emacs file.
-;; (define-key emacs-lisp-mode-map "\^Xx" 'edebug-defun)
-;; (autoload 'edebug-defun "edebug")
-;; (autoload 'edebug-debug "edebug")
-;; (setq debugger 'edebug-debug)
-;; ... other options, described in the next section.
-
-;; Evaluate a defun for edebug with edebug-defun.
-;; Evaluate your function normally.
-;; Use the "?" command in edebug to describe other commands.
-;; See edebug.texinfo for more instructions.
-
;;; Code:
\f
;;; Code:
+;;; Commentary:
+
+;; The base major mode for editing Lisp code (used also for Emacs Lisp).
+;; This mode is documented in the Emacs manual
+
+;;; Code:
+
(defvar lisp-mode-syntax-table nil "")
(defvar emacs-lisp-mode-syntax-table nil "")
(defvar lisp-mode-abbrev-table nil "")
(setq comment-start-skip ";+ *")
(make-local-variable 'comment-column)
(setq comment-column 40)
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'lisp-comment-indent))
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'lisp-comment-indent))
\f
(defvar shared-lisp-mode-map ()
"Keymap for commands shared by all sorts of Lisp modes.")
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; Lisp ediing commands to go with Lisp major mode.
+
;;; Code:
(defvar defun-prompt-regexp nil
;;; emerge.el --- merge diffs under Emacs control
+
;;; The author has placed this file in the public domain.
;; Author: Dale R. Worley <drw@math.mit.edu>
;;; Commentary:
-; - Changes from version 3 to version 4
-;
-; More configuration variables are marked as user options.
-;
-; Code is included for an improved version of make-auto-save-file-name
-; which eliminates many problems with the default version. See the
-; documentation of emerge-make-auto-save-file-name to see how to
-; activate it.
-;
-; Emerge now works with Gnu diff3, which can produce the groups of lines
-; from the various files in the order 1, 2, 3 or 1, 3, 2.
-;
-; Added x f command to show what files or buffers are being operated on.
-;
-; The merge buffer now starts read-only, which being in fast mode it
-; should be.
-;
-; When merging buffers, Emerge writes their contents into temporary
-; files in the directory $TMPDIR (if it is defined), or /tmp by default.
-;
-; Added x j command to join two differences.
-;
-; Added x s command to split a difference into two differences.
-;
-; Added emerge-version variable and function to report the version of Emerge
-; being run.
-;
-; Added x t command to trim unchanged lines off top and bottom of
-; difference region.
-;
-; Added x d, x a, and x b commands to locate the differences at or near
-; a given location in one of the buffers.
-;
-; Emerge no longer tries to copy the minor modes from the A buffer to
-; the merge buffer, only the major mode.
-;
-; The programs executed to find the differences between versions of the file
-; are no longer controlled by emerge-diff/diff3-command, but rather by:
-; emerge-diff-program
-; Variable: *Name of the program which compares two files.
-; emerge-diff3-program
-; Variable: *Name of the program which compares an ancestor file
-; (first argument) and two variant files (second and third arguments).
-; emerge-diff-options
-; Variable: *Options to be passed to emerge-diff/diff3-program.
-;
-; The names of the files are expanded (see expand-file-name) before being
-; passed to emerge-diff/diff3-program, so diff need not invoked under a shell
-; that understands '~', for instance.
-;
-; If the diff/diff3 program reports errors, the user is notified and the
-; errors are displayed.
-;
-; The command "0j" can be used to suppress the flags from showing in the buffers.
-;
-; A discussion of the effect of the merge flags on indentation of code
-; has been added to the documentation.
-;
-; If kill-fix.el is loaded, Emerge control variables new have their
-; 'preserved' property set, so setting the major mode in the merge
-; buffer doesn't destroy Emerge's state.
-;
-; Added x c, x C, and x x commands to allow the A and B versions to be
-; combined into #ifdef - #endif forms.
-;
-; Replaced calls of "ding" to calls of "error" where appropriate.
-;
-; Added x m command to allow major mode of merge buffer to be changed.
-;
-; Added x 1 command to shrink the merge window to one line.
-;
-; Added emerge-startup-hook to allow customization.
-;
-; Fixed a bug that is activated when a remote merge request is made when
-; the minibuffer window is selected.
-;
-; - Changes from version 2 to version 3
-;
-; The directory into which temporary files are written is now controlled
-; by a user option (emerge-temp-file-prefix).
-;
-; The A and B versions of the difference can be loaded into the kill
-; ring with the "c a" and "c b" commands.
-;
-; The A and B versions of the difference can be inserted into the merge
-; buffer with the "i a" and "i b" commands.
-;
-; The difference region of the merge buffer can be surrounded by the
-; point and mark with the "m" command.
-;
-; The three windows can be scrolled together with the "^", "v", "<",
-; ">", and "|" commands.
-;
-; The "s s" and "s a" commands report the state of the option in the
-; echo area. Similarly, the "f" and "e" commands report what they do in
-; the echo area.
-;
-; The "q" command has been revamped, and its behavior is now controlled
-; by the manner in which Emerge is started. In particular, if you wish
-; to write the merge buffer into a file upon exiting, invoke
-; emerge-files[-with-ancestor] with a prefix argument, and it will
-; prompt you for the file name. Then exiting will write the merge
-; buffer to the file, unless "q" is given a prefix argument.
-;
-; The "i a" and "i b" commands now work in fast mode.
-;
-; The modifications that Emerge makes to save-buffer and write-file are
-; described.
-;
-; Emerge now handles merging narrowed buffers correctly.
-;
-; Emerge now isn't fooled when the buffer visiting a file is not the
-; same as the file on disk.
-;
+;; This package assists you in reconciling differences between pair of files.
+
; - Starting
;
; To start Emerge, you must run one of four commands:
;
; ================================================================
+;;; Change Log:
+
+; - Changes from version 3 to version 4
+;
+; More configuration variables are marked as user options.
+;
+; Code is included for an improved version of make-auto-save-file-name
+; which eliminates many problems with the default version. See the
+; documentation of emerge-make-auto-save-file-name to see how to
+; activate it.
+;
+; Emerge now works with Gnu diff3, which can produce the groups of lines
+; from the various files in the order 1, 2, 3 or 1, 3, 2.
+;
+; Added x f command to show what files or buffers are being operated on.
+;
+; The merge buffer now starts read-only, which being in fast mode it
+; should be.
+;
+; When merging buffers, Emerge writes their contents into temporary
+; files in the directory $TMPDIR (if it is defined), or /tmp by default.
+;
+; Added x j command to join two differences.
+;
+; Added x s command to split a difference into two differences.
+;
+; Added emerge-version variable and function to report the version of Emerge
+; being run.
+;
+; Added x t command to trim unchanged lines off top and bottom of
+; difference region.
+;
+; Added x d, x a, and x b commands to locate the differences at or near
+; a given location in one of the buffers.
+;
+; Emerge no longer tries to copy the minor modes from the A buffer to
+; the merge buffer, only the major mode.
+;
+; The programs executed to find the differences between versions of the file
+; are no longer controlled by emerge-diff/diff3-command, but rather by:
+; emerge-diff-program
+; Variable: *Name of the program which compares two files.
+; emerge-diff3-program
+; Variable: *Name of the program which compares an ancestor file
+; (first argument) and two variant files (second and third arguments).
+; emerge-diff-options
+; Variable: *Options to be passed to emerge-diff/diff3-program.
+;
+; The names of the files are expanded (see expand-file-name) before being
+; passed to emerge-diff/diff3-program, so diff need not invoked under a shell
+; that understands '~', for instance.
+;
+; If the diff/diff3 program reports errors, the user is notified and the
+; errors are displayed.
+;
+; The command "0j" can be used to suppress the flags from showing in the buffers.
+;
+; A discussion of the effect of the merge flags on indentation of code
+; has been added to the documentation.
+;
+; If kill-fix.el is loaded, Emerge control variables new have their
+; 'preserved' property set, so setting the major mode in the merge
+; buffer doesn't destroy Emerge's state.
+;
+; Added x c, x C, and x x commands to allow the A and B versions to be
+; combined into #ifdef - #endif forms.
+;
+; Replaced calls of "ding" to calls of "error" where appropriate.
+;
+; Added x m command to allow major mode of merge buffer to be changed.
+;
+; Added x 1 command to shrink the merge window to one line.
+;
+; Added emerge-startup-hook to allow customization.
+;
+; Fixed a bug that is activated when a remote merge request is made when
+; the minibuffer window is selected.
+;
+; - Changes from version 2 to version 3
+;
+; The directory into which temporary files are written is now controlled
+; by a user option (emerge-temp-file-prefix).
+;
+; The A and B versions of the difference can be loaded into the kill
+; ring with the "c a" and "c b" commands.
+;
+; The A and B versions of the difference can be inserted into the merge
+; buffer with the "i a" and "i b" commands.
+;
+; The difference region of the merge buffer can be surrounded by the
+; point and mark with the "m" command.
+;
+; The three windows can be scrolled together with the "^", "v", "<",
+; ">", and "|" commands.
+;
+; The "s s" and "s a" commands report the state of the option in the
+; echo area. Similarly, the "f" and "e" commands report what they do in
+; the echo area.
+;
+; The "q" command has been revamped, and its behavior is now controlled
+; by the manner in which Emerge is started. In particular, if you wish
+; to write the merge buffer into a file upon exiting, invoke
+; emerge-files[-with-ancestor] with a prefix argument, and it will
+; prompt you for the file name. Then exiting will write the merge
+; buffer to the file, unless "q" is given a prefix argument.
+;
+; The "i a" and "i b" commands now work in fast mode.
+;
+; The modifications that Emerge makes to save-buffer and write-file are
+; described.
+;
+; Emerge now handles merging narrowed buffers correctly.
+;
+; Emerge now isn't fooled when the buffer visiting a file is not the
+; same as the file on disk.
+
;;; Code:
;;; Macros
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; Defines most of Emacs's file- and directory-handling functions,
+;; including basic file visiting, backup generation, link handling,
+;; ITS-id version control, load- and write-hook handling, and the like.
+
;;; Code:
(defconst delete-auto-save-files t
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; Make GNU Emacs look like Gosling Emacs. `M-x set-gosmacs-bindings'
+;; does this change; `M-x set-gnu-bindings' undoes it.
+
;;; Code:
(require 'mlsupport)
;;; Commentary:
+;; This package implements a major mode for editing binary files. It uses
+;; a program called hexl, supplied with the GNU Emacs distribution, that
+;; can filter a binary into an editable format or from the format back into
+;; binary. For full instructions, invoke `hexl-mode' on an empty buffer and
+;; do `M-x describe-mode'.
+;;
;; This may be useful in your .emacs:
;;
;; (autoload 'hexl-find-file "hexl"
;;;###autoload
(defun hexl-mode (&optional arg)
"\\<hexl-mode-map>
-A major mode for editting binary files in hex dump format.
+A major mode for editing binary files in hex dump format.
This function automatically converts a buffer into the hexl format
using the function `hexlify-buffer'.
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; Commands for making and changing indentation in text. These are
+;; described in the Emacs manual.
+
;;; Code:
(defvar indent-line-function 'indent-to-left-margin "\
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-;;; Code:
+;;; Commentary:
;; Written by Howard Gayle. See case-table.el for details.
+;;; Code:
+
(defun insert-no-break-space ()
(interactive "*")
(insert 160)
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-;;; Code:
+;;; Commentary:
;; Written by Howard Gayle. See case-table.el for details.
+;;; Code:
+
;; This code sets up to display ISO 8859/1 characters on
;; terminals that have ASCII in the G0 set and a Swedish/Finnish
;; version of ISO 646 in the G1 set. The G1 set differs from
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-;;; Code:
+;;; Commentary:
;; Written by Howard Gayle. See case-table.el for details.
+;;; Code:
+
(require 'case-table)
(let ((table (standard-case-table)))
;; Author: Jeff Norden <jeff@colgate.csnet>
;; Created: 15 Feb 1988
+;; Keywords: comm
;; This file is part of GNU Emacs.
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-;;; Commentary
+;;; Commentary:
;; I'm not sure, but I think somebody asked about running kermit under shell
;; mode a while ago. Anyway, here is some code that I find useful. The result
;; ^C^Q^C to send an interrupt, and ^C^Q^Z for a stop signal, etc. (since ^C^C
;; just generates a local stop signal, which kermit ignores).
;; To connect to a VMS system, I use a shell script to invoke kermit thru the
-;; tr filter, do "M-X kermit-send-cr", and then tell VMS that I'm on a half-duplex
-;; terminal.
+;; tr filter, do "M-X kermit-send-cr", and then tell VMS that I'm on a
+;; half-duplex terminal.
;; Some caveats:
;; 1) Kermit under shell mode is a real pain if you don't have pty's. I
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; This is a major mode for editing Liszt. See etc/LEDIT for details.
+
;;; Code:
;;; To do:
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; Commands to send the region or a buffer your printer. Entry points
+;; are `lpr-buffer', `print-buffer', lpr-region', or `print-region'; option
+;; variables include `lpr-switches' and `lpr-command'.
+
;;; Code:
;;;###autoload
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; Extension commands for keyboard macros. These permit you to assign
+;; a name to the last-defined keyboard macro, expand and insert the
+;; lisp corresponding to a macro, query the user from within a macro,
+;; or apply a macro to each line in the reason.
+
;;; Code:
;;;###autoload
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; `M-x report-emacs-bug ' starts an email note to the Emacs maintainers
+;; describing a problem. Here's how it's done...
+
;;; Code:
;; >> This should be an address which is accessible to your machine,
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; Utility functions for maol and netnews handling. These handle fine
+;; points of header parsing.
+
;;; Code:
;;; We require lisp-mode to make sure that lisp-mode-syntax-table has
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; Basic functions for defining and expanding mail aliases.
+;; These seal off the interface to the alias-definition parts of a
+;; .mailrc file formatted for BSD's Mail or USL's mailx.
+
;;; Code:
(defvar mail-aliases t
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; Displays a nice human-readable summary of all keybindings in a
+;; two-column format.
+
;;; Code:
;;;###autoload
(setq comment-end "\"")
(make-local-variable 'comment-column)
(setq comment-column 40)
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'indent-mim-comment)
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'indent-mim-comment)
;; tell generic indenter how to indent.
(make-local-variable 'indent-line-function)
(setq indent-line-function 'indent-mim-line)
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; The single entry point, `dissociatesd-press', applies a travesty
+;; generator to the current buffer. The results can be quite amusing.
+
;;; Code:
;;;###autoload
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; The single entry point `doctor', simulates a Rogerian analyst using
+;; phrase-production techniques similar to the classic ELIZA demonstration
+;; of pseudo-AI.
+
;;; Code:
(defun doctor-cadr (x) (car (cdr x)))
; This is in the public domain
; since he distributed it without copyright notice in 1985.
+;;; Commentary:
+
+;; Solves the Towers of Hanoi puzzle while-U-wait.
+;;
+;; The puzzle: Start with N rings, decreasing in sizes from bottom to
+;; top, stacked around a post. There are two other posts. Your mission,
+;; should you choose to accept it, is to shift the pile, stacked in its
+;; original order, to another post.
+;;
+;; The challenge is to do it in the fewest possible moves. Each move
+;; shifts one ring to a different post. But there's a rule; you can
+;; only stack a ring on top of a larger one.
+;;
+;; The simplest nontrivial version of this puzzle is N = 3. Solution
+;; time rises as 2**N, and programs to solve it have long been considered
+;; classic introductory exercises in the use of recursion.
+;;
+;; The puzzle is called `Towers of Hanoi' because an early popular
+;; presentation wove a fanciful legend around it. According to this
+;; myth (uttered long before the Vietnam War), there is a Buddhist
+;; monastery at Hanoi which contains a large room with three time-worn
+;; posts in it surrounded by 21 golden discs. Monks, acting out the
+;; command of an ancient prophecy, have been moving these disks, in
+;; accordance with the rules of the puzzle, once every day since the
+;; monastery was founded over a thousand years ago. They are said
+;; believe that when the last move of the puzzle is completed, the
+;; world will end in a clap of thunder. Fortunately, they are nowhere
+;; even close to being done...
+
;;; Code:
;;;
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; A demonstrator for John Horton Conway's "Life" cellular automaton
+;; in Emacs Lisp. Picks a random one of a set of interesting Life
+;; patterns and avolves it according to the familiar rules.
+
;;; Code:
(defconst life-patterns
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; Sets up C-mode with support for awk-style #-comments and a lightly
+;; hacked syntax table.
+
;;; Code:
(defvar awk-mode-syntax-table nil
(setq comment-column 32)
(make-local-variable 'comment-start-skip)
(setq comment-start-skip "#+ *")
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'c-comment-indent)
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'c-comment-indent)
(run-hooks 'awk-mode-hook))
;;; awk-mode.el ends here
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; A smart editing mode for C code. It knows a lot about C syntax and tries
+;; to position the curser according to C layout conventions. You can
+;; change the details of the layout style with option variables. Load it
+;; and do M-x describe-mode for details.
+
;;; Code:
(defvar c-mode-abbrev-table nil
(setq comment-column 32)
(make-local-variable 'comment-start-skip)
(setq comment-start-skip "/\\*+ *")
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'c-comment-indent)
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'c-comment-indent)
(make-local-variable 'parse-sexp-ignore-comments)
(setq parse-sexp-ignore-comments t)
(run-hooks 'c-mode-hook))
-;;; cmacexp.el --- C macro expansion
+;;; cmacexp.el --- C preprocessor macro expansion
;; Copyright (C) 1988 Free Software Foundation, Inc.
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; This package gives you the ability to run the C macro preprocessor
+;; on the current region, expanding macros within it. This can be useful
+;; when you're not sure of the value or expansion of such macros and want
+;; to make sure they're doing what you think they're doing.
+;;
+;; This package supports the following option variables:
+;;
+;; c-macro-preprocessor --- program to be used for macro expansion.
+;; c-macro-options --- command-line options to pass it.
+
;;; Code:
(defvar c-macro-preprocessor "/lib/cpp"
;; Author: Roland McGrath <roland@prep.ai.mit.edu>
;; Maintainer: FSF
;; Keywords: tools, processes
+;; Info-Node: Emacs:Compilation
;; This file is part of GNU Emacs.
;;; Commentary:
-;; 1987 Dave Detlefs (dld@cs.cmu.edu)
-;; and Stewart Clamen (clamen@cs.cmu.edu).
+;; 1987 Dave Detlefs <dld@cs.cmu.edu>
+;; and Stewart Clamen <clamen@cs.cmu.edu>.
;; Done by fairly faithful modification of:
+
;;; Change Log:
;; Feb, 1990 (Dave Detlefs, dld@cs.cmu.edu)
(set (make-local-variable 'comment-start) "// ")
(set (make-local-variable 'comment-end) "")
(set (make-local-variable 'comment-start-skip) "/\\*+ *\\|// *")
- (set (make-local-variable 'comment-indent-hook) 'c++-comment-indent)
+ (set (make-local-variable 'comment-indent-function) 'c++-comment-indent)
(set (make-local-variable 'paragraph-start) (concat "^$\\|" page-delimiter))
(set (make-local-variable 'paragraph-separate) paragraph-start)
(set (make-local-variable 'paragraph-ignore-fill-prefix) t)
(setq fortran-break-before-delimiters t)
(make-local-variable 'indent-line-function)
(setq indent-line-function 'fortran-indent-line)
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'fortran-comment-hook)
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'fortran-comment-hook)
(make-local-variable 'comment-line-start-skip)
(setq comment-line-start-skip
"^[Cc*]\\(\\([^ \t\n]\\)\\2\\2*\\)?[ \t]*\\|^#.*")
"List the currently defined abbrevs in Fortran mode."
(interactive)
(message "Listing abbrev table...")
- (require 'abbrevlist)
(display-buffer (fortran-prepare-abbrev-list-buffer))
(message "Listing abbrev table...done"))
;;; Commentary:
-;;; Written by Brian Marick, at Gould, Computer Systems Division, Urbana IL.
-;;; Extensively modified by Daniel LaLiberte (while at Gould).
-;;;
-;;; You may freely modify and distribute this, but keep a record
-;;; of modifications and send comments to:
-;;; liberte@a.cs.uiuc.edu or ihnp4!uiucdcs!liberte
-;;; I will continue to upgrade hide-ifdef-mode
-;;; with your contributions.
-
;;; To initialize, toggle the hide-ifdef minor mode with
;;;
;;; M-x hide-ifdef-mode
;;; If you have minor-mode-alist in your mode line (the default) two labels
;;; may appear. "Ifdef" will appear when hide-ifdef-mode is active. "Hiding"
;;; will appear when text may be hidden ("hide-ifdef-hiding" is non-nil).
+;;;
+;;; Written by Brian Marick, at Gould, Computer Systems Division, Urbana IL.
+;;; Extensively modified by Daniel LaLiberte (while at Gould).
+;;;
+;;; You may freely modify and distribute this, but keep a record
+;;; of modifications and send comments to:
+;;; liberte@a.cs.uiuc.edu or ihnp4!uiucdcs!liberte
+;;; I will continue to upgrade hide-ifdef-mode
+;;; with your contributions.
;;; Change Log:
;;;
;;; Commentary:
+;; A major mode for editing the Icon programming language.
+;;
;; Note: use
;; (autoload 'icon-mode "icon" nil t)
;; (setq auto-mode-alist (cons '("\\.icn$" . icon-mode) auto-mode-alist))
(setq comment-column 32)
(make-local-variable 'comment-start-skip)
(setq comment-start-skip "# *")
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'icon-comment-indent)
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'icon-comment-indent)
(run-hooks 'icon-mode-hook))
\f
;; This is used by indent-for-comment to decide how much to
;; Adapted-By: ESR
;; Keywords: unix, tools
-;; $Id: makefile.el,v 1.7.1.17 1992/07/15 20:05:15 tom Exp tom $
+;; $Id: makefile.el,v 1.3 1992/07/22 02:13:37 eric Exp eric $
;; This file is part of GNU Emacs.
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; A major mode for editing Makefiles. Hairy. Needs more documentation.
+;; If you get familiar with it, please write some and send it to the GNU
+;; Emacs maintainers.
+
;;; Code:
(provide 'makefile)
(setq comment-column 41)
(make-local-variable 'comment-start-skip)
(setq comment-start-skip "/\\*+ *")
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'c-comment-indent)
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'c-comment-indent)
(make-local-variable 'parse-sexp-ignore-comments)
(setq parse-sexp-ignore-comments t)
(run-hooks 'm2-mode-hook))
(setq comment-column 32)
(make-local-variable 'comment-start-skip)
(setq comment-start-skip "\\(^\\|\\s-\\);?#+ *")
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'perl-comment-indent)
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'perl-comment-indent)
(make-local-variable 'parse-sexp-ignore-comments)
(setq parse-sexp-ignore-comments nil)
(run-hooks 'perl-mode-hook))
(setq comment-start-skip "%+ *")
(make-local-variable 'comment-column)
(setq comment-column 48)
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'prolog-comment-indent))
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'prolog-comment-indent))
(defun prolog-mode-commands (map)
(define-key map "\t" 'prolog-indent-line)
(setq comment-start-skip ";+[ \t]*")
(make-local-variable 'comment-column)
(setq comment-column 40)
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'scheme-comment-indent)
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'scheme-comment-indent)
(setq mode-line-process '("" scheme-mode-line-process)))
(defvar scheme-mode-line-process "")
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-;;; Code:
+;;; Commentary:
-;; Bib-Mode
;; GNU Emacs code to help maintain databases compatible with (troff)
;; refer and lookbib. The file bib-file should be set to your
;; bibliography file. Keys are automagically inserted as you type,
;; and appropriate keys are presented for various kinds of entries.
+;;; Code:
+
(defvar bib-file "~/my-bibliography.bib"
"Default name of file used by `addbib'.")
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; A major mode for entering and editing BibTex files, validating
+;; them, canonicalizing them, and sorting them. Includes entry
+;; commands tailored to many different formats (book, master's this,
+;; journal article, etc). Has loads of options.
+
;;; Change Log:
;;; alarson@src.honeywell.com 92-Jan-31
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; All the commands for filling text. These are documented in the Emacs
+;; manual.
+
;;; Code:
(defconst fill-individual-varying-indent nil
;;along with GNU Emacs; see the file COPYING. If not, write to
;;the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;;; Commentary:
+
+;; This package provides a graceful interface to ispell, the GNU
+;; spelling checker.
+
;;; Code:
(defvar ispell-have-new-look t
(setq comment-start-skip "\\\\\"[ \t]*")
(make-local-variable 'comment-column)
(setq comment-column 24)
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'nroff-comment-indent)
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'nroff-comment-indent)
(run-hooks 'text-mode-hook 'nroff-mode-hook))
;;; Compute how much to indent a comment in nroff/troff source.
(setq comment-start "<!-- ")
(make-local-variable 'comment-end)
(setq comment-end " -->")
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'sgml-comment-indent)
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'sgml-comment-indent)
(make-local-variable 'comment-start-skip)
;; This will allow existing comments within declarations to be
;; recognized.
(setq comment-start "%")
(make-local-variable 'comment-start-skip)
(setq comment-start-skip "\\(\\(^\\|[^\\]\\)\\(\\\\\\\\\\)*\\)\\(%+ *\\)")
- (make-local-variable 'comment-indent-hook)
- (setq comment-indent-hook 'tex-comment-indent)
+ (make-local-variable 'comment-indent-function)
+ (setq comment-indent-function 'tex-comment-indent)
(make-local-variable 'compare-windows-whitespace)
(setq compare-windows-whitespace 'tex-categorize-whitespace)
(make-local-variable 'tex-command)